Today it is very common for users of computer software to encounter various portions of the software that are outside the typical work area. For example, a word processing application will not only have a blank page upon which to type but also a menu bar or other viewable tool bars to provide commands with other features. Likewise, a graphics application will not only have a blank canvass upon which to draw but also a menu bar and other tool bars with various commands to perform a multitude of functions. Regardless of the menu bar displayed, there are a number of buttons associated with the menu bar, e.g., File, Edit, View, etc. Each menu bar button will have various commands associated with it that can be displayed after a mouse click on the button. For example, when clicking the File menu button, listed commands can be “New, Open, Close, Save, etc.” A commonly used convention places an ellipse ( . . . ) after the listed command to indicate to the user that if that command is clicked, then a dialog box will open somewhere on the computer screen and will include additional parts from which to choose. For example, when clicking Edit→Find, a “Find and Replace” dialog box appears for me to enter text to search in the current document.
There are two types of dialog boxes, modal and non-modal. The former temporarily halt the program in the sense that the user cannot continue working until the dialog box is closed, for example, “New→Open” causes the program to halt until the user chooses a file to open or cancels the command. The later type of dialog box, non-modal or modeless, is used when the requested command is not essential to continue, and so the dialog box can remain open while the user continues to work, for example, a “Colors” command that allows the user to dynamically change colors of various items while working.
This same set of actions occurs in countless programs, most notably graphics programs and computer aided drafting (CAD) applications. In graphics programs and CAD applications, it is not uncommon to heavily utilize various dialog boxes for commands such as color selection or tool manipulation in various modeless dialog boxes. However, all too often, these dialog boxes appear at random areas on the workspace and often times obscure workable portions of the screen until reoriented for usability.
What is needed is a system and method for managing modeless dialog boxes within a computer windows environment such that the dialog boxes could be docked at a predetermine location and easily manipulated without obscuring the workspace area utilized in the current software application.